// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*!
 * @file vehicle_status.cpp
 * This source file contains the definition of the described types in the IDL file.
 *
 * This file was generated by the tool gen.
 */

#ifdef _WIN32
// Remove linker warning LNK4221 on Visual Studio
namespace { char dummy; }
#endif

#include "vehicle_status.h"
#include <fastcdr/Cdr.h>

#include <fastcdr/exceptions/BadParamException.h>
using namespace eprosima::fastcdr::exception;

#include <utility>



























































vehicle_status::vehicle_status()
{
    // m_timestamp_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@358c99f5
    m_timestamp_ = 0;
    // m_nav_state_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3ee0fea4
    m_nav_state_ = 0;
    // m_nav_state_timestamp_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@48524010
    m_nav_state_timestamp_ = 0;
    // m_arming_state_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4b168fa9
    m_arming_state_ = 0;
    // m_hil_state_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1a84f40f
    m_hil_state_ = 0;
    // m_failsafe_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@23282c25
    m_failsafe_ = false;
    // m_failsafe_timestamp_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7920ba90
    m_failsafe_timestamp_ = 0;
    // m_system_type_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6b419da
    m_system_type_ = 0;
    // m_system_id_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3b2da18f
    m_system_id_ = 0;
    // m_component_id_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5906ebcb
    m_component_id_ = 0;
    // m_vehicle_type_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@258e2e41
    m_vehicle_type_ = 0;
    // m_is_vtol_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3d299e3
    m_is_vtol_ = false;
    // m_is_vtol_tailsitter_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@55a561cf
    m_is_vtol_tailsitter_ = false;
    // m_vtol_fw_permanent_stab_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3b938003
    m_vtol_fw_permanent_stab_ = false;
    // m_in_transition_mode_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6f3b5d16
    m_in_transition_mode_ = false;
    // m_in_transition_to_fw_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@78b1cc93
    m_in_transition_to_fw_ = false;
    // m_rc_signal_lost_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6646153
    m_rc_signal_lost_ = false;
    // m_rc_input_mode_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@21507a04
    m_rc_input_mode_ = 0;
    // m_data_link_lost_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@143640d5
    m_data_link_lost_ = false;
    // m_data_link_lost_counter_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6295d394
    m_data_link_lost_counter_ = 0;
    // m_high_latency_data_link_lost_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@475e586c
    m_high_latency_data_link_lost_ = false;
    // m_engine_failure_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@657c8ad9
    m_engine_failure_ = false;
    // m_mission_failure_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@436a4e4b
    m_mission_failure_ = false;
    // m_geofence_violated_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@f2f2cc1
    m_geofence_violated_ = false;
    // m_failure_detector_status_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3a079870
    m_failure_detector_status_ = 0;
    // m_onboard_control_sensors_present_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3b2cf7ab
    m_onboard_control_sensors_present_ = 0;
    // m_onboard_control_sensors_enabled_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@2aa5fe93
    m_onboard_control_sensors_enabled_ = 0;
    // m_onboard_control_sensors_health_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5c1a8622
    m_onboard_control_sensors_health_ = 0;
    // m_latest_arming_reason_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5ad851c9
    m_latest_arming_reason_ = 0;
    // m_latest_disarming_reason_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6156496
    m_latest_disarming_reason_ = 0;
    // m_armed_time_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3c153a1
    m_armed_time_ = 0;
    // m_takeoff_time_ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@b62fe6d
    m_takeoff_time_ = 0;

}

vehicle_status::~vehicle_status()
{
































}

vehicle_status::vehicle_status(const vehicle_status &x)
{
    m_timestamp_ = x.m_timestamp_;
    m_nav_state_ = x.m_nav_state_;
    m_nav_state_timestamp_ = x.m_nav_state_timestamp_;
    m_arming_state_ = x.m_arming_state_;
    m_hil_state_ = x.m_hil_state_;
    m_failsafe_ = x.m_failsafe_;
    m_failsafe_timestamp_ = x.m_failsafe_timestamp_;
    m_system_type_ = x.m_system_type_;
    m_system_id_ = x.m_system_id_;
    m_component_id_ = x.m_component_id_;
    m_vehicle_type_ = x.m_vehicle_type_;
    m_is_vtol_ = x.m_is_vtol_;
    m_is_vtol_tailsitter_ = x.m_is_vtol_tailsitter_;
    m_vtol_fw_permanent_stab_ = x.m_vtol_fw_permanent_stab_;
    m_in_transition_mode_ = x.m_in_transition_mode_;
    m_in_transition_to_fw_ = x.m_in_transition_to_fw_;
    m_rc_signal_lost_ = x.m_rc_signal_lost_;
    m_rc_input_mode_ = x.m_rc_input_mode_;
    m_data_link_lost_ = x.m_data_link_lost_;
    m_data_link_lost_counter_ = x.m_data_link_lost_counter_;
    m_high_latency_data_link_lost_ = x.m_high_latency_data_link_lost_;
    m_engine_failure_ = x.m_engine_failure_;
    m_mission_failure_ = x.m_mission_failure_;
    m_geofence_violated_ = x.m_geofence_violated_;
    m_failure_detector_status_ = x.m_failure_detector_status_;
    m_onboard_control_sensors_present_ = x.m_onboard_control_sensors_present_;
    m_onboard_control_sensors_enabled_ = x.m_onboard_control_sensors_enabled_;
    m_onboard_control_sensors_health_ = x.m_onboard_control_sensors_health_;
    m_latest_arming_reason_ = x.m_latest_arming_reason_;
    m_latest_disarming_reason_ = x.m_latest_disarming_reason_;
    m_armed_time_ = x.m_armed_time_;
    m_takeoff_time_ = x.m_takeoff_time_;
}

vehicle_status::vehicle_status(vehicle_status &&x)
{
    m_timestamp_ = x.m_timestamp_;
    m_nav_state_ = x.m_nav_state_;
    m_nav_state_timestamp_ = x.m_nav_state_timestamp_;
    m_arming_state_ = x.m_arming_state_;
    m_hil_state_ = x.m_hil_state_;
    m_failsafe_ = x.m_failsafe_;
    m_failsafe_timestamp_ = x.m_failsafe_timestamp_;
    m_system_type_ = x.m_system_type_;
    m_system_id_ = x.m_system_id_;
    m_component_id_ = x.m_component_id_;
    m_vehicle_type_ = x.m_vehicle_type_;
    m_is_vtol_ = x.m_is_vtol_;
    m_is_vtol_tailsitter_ = x.m_is_vtol_tailsitter_;
    m_vtol_fw_permanent_stab_ = x.m_vtol_fw_permanent_stab_;
    m_in_transition_mode_ = x.m_in_transition_mode_;
    m_in_transition_to_fw_ = x.m_in_transition_to_fw_;
    m_rc_signal_lost_ = x.m_rc_signal_lost_;
    m_rc_input_mode_ = x.m_rc_input_mode_;
    m_data_link_lost_ = x.m_data_link_lost_;
    m_data_link_lost_counter_ = x.m_data_link_lost_counter_;
    m_high_latency_data_link_lost_ = x.m_high_latency_data_link_lost_;
    m_engine_failure_ = x.m_engine_failure_;
    m_mission_failure_ = x.m_mission_failure_;
    m_geofence_violated_ = x.m_geofence_violated_;
    m_failure_detector_status_ = x.m_failure_detector_status_;
    m_onboard_control_sensors_present_ = x.m_onboard_control_sensors_present_;
    m_onboard_control_sensors_enabled_ = x.m_onboard_control_sensors_enabled_;
    m_onboard_control_sensors_health_ = x.m_onboard_control_sensors_health_;
    m_latest_arming_reason_ = x.m_latest_arming_reason_;
    m_latest_disarming_reason_ = x.m_latest_disarming_reason_;
    m_armed_time_ = x.m_armed_time_;
    m_takeoff_time_ = x.m_takeoff_time_;
}

vehicle_status& vehicle_status::operator=(const vehicle_status &x)
{

    m_timestamp_ = x.m_timestamp_;
    m_nav_state_ = x.m_nav_state_;
    m_nav_state_timestamp_ = x.m_nav_state_timestamp_;
    m_arming_state_ = x.m_arming_state_;
    m_hil_state_ = x.m_hil_state_;
    m_failsafe_ = x.m_failsafe_;
    m_failsafe_timestamp_ = x.m_failsafe_timestamp_;
    m_system_type_ = x.m_system_type_;
    m_system_id_ = x.m_system_id_;
    m_component_id_ = x.m_component_id_;
    m_vehicle_type_ = x.m_vehicle_type_;
    m_is_vtol_ = x.m_is_vtol_;
    m_is_vtol_tailsitter_ = x.m_is_vtol_tailsitter_;
    m_vtol_fw_permanent_stab_ = x.m_vtol_fw_permanent_stab_;
    m_in_transition_mode_ = x.m_in_transition_mode_;
    m_in_transition_to_fw_ = x.m_in_transition_to_fw_;
    m_rc_signal_lost_ = x.m_rc_signal_lost_;
    m_rc_input_mode_ = x.m_rc_input_mode_;
    m_data_link_lost_ = x.m_data_link_lost_;
    m_data_link_lost_counter_ = x.m_data_link_lost_counter_;
    m_high_latency_data_link_lost_ = x.m_high_latency_data_link_lost_;
    m_engine_failure_ = x.m_engine_failure_;
    m_mission_failure_ = x.m_mission_failure_;
    m_geofence_violated_ = x.m_geofence_violated_;
    m_failure_detector_status_ = x.m_failure_detector_status_;
    m_onboard_control_sensors_present_ = x.m_onboard_control_sensors_present_;
    m_onboard_control_sensors_enabled_ = x.m_onboard_control_sensors_enabled_;
    m_onboard_control_sensors_health_ = x.m_onboard_control_sensors_health_;
    m_latest_arming_reason_ = x.m_latest_arming_reason_;
    m_latest_disarming_reason_ = x.m_latest_disarming_reason_;
    m_armed_time_ = x.m_armed_time_;
    m_takeoff_time_ = x.m_takeoff_time_;

    return *this;
}

vehicle_status& vehicle_status::operator=(vehicle_status &&x)
{

    m_timestamp_ = x.m_timestamp_;
    m_nav_state_ = x.m_nav_state_;
    m_nav_state_timestamp_ = x.m_nav_state_timestamp_;
    m_arming_state_ = x.m_arming_state_;
    m_hil_state_ = x.m_hil_state_;
    m_failsafe_ = x.m_failsafe_;
    m_failsafe_timestamp_ = x.m_failsafe_timestamp_;
    m_system_type_ = x.m_system_type_;
    m_system_id_ = x.m_system_id_;
    m_component_id_ = x.m_component_id_;
    m_vehicle_type_ = x.m_vehicle_type_;
    m_is_vtol_ = x.m_is_vtol_;
    m_is_vtol_tailsitter_ = x.m_is_vtol_tailsitter_;
    m_vtol_fw_permanent_stab_ = x.m_vtol_fw_permanent_stab_;
    m_in_transition_mode_ = x.m_in_transition_mode_;
    m_in_transition_to_fw_ = x.m_in_transition_to_fw_;
    m_rc_signal_lost_ = x.m_rc_signal_lost_;
    m_rc_input_mode_ = x.m_rc_input_mode_;
    m_data_link_lost_ = x.m_data_link_lost_;
    m_data_link_lost_counter_ = x.m_data_link_lost_counter_;
    m_high_latency_data_link_lost_ = x.m_high_latency_data_link_lost_;
    m_engine_failure_ = x.m_engine_failure_;
    m_mission_failure_ = x.m_mission_failure_;
    m_geofence_violated_ = x.m_geofence_violated_;
    m_failure_detector_status_ = x.m_failure_detector_status_;
    m_onboard_control_sensors_present_ = x.m_onboard_control_sensors_present_;
    m_onboard_control_sensors_enabled_ = x.m_onboard_control_sensors_enabled_;
    m_onboard_control_sensors_health_ = x.m_onboard_control_sensors_health_;
    m_latest_arming_reason_ = x.m_latest_arming_reason_;
    m_latest_disarming_reason_ = x.m_latest_disarming_reason_;
    m_armed_time_ = x.m_armed_time_;
    m_takeoff_time_ = x.m_takeoff_time_;

    return *this;
}

size_t vehicle_status::getMaxCdrSerializedSize(size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);



    return current_alignment - initial_alignment;
}

size_t vehicle_status::getCdrSerializedSize(const vehicle_status& data, size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);



    return current_alignment - initial_alignment;
}

void vehicle_status::serialize(eprosima::fastcdr::Cdr &scdr) const
{

    scdr << m_timestamp_;
    scdr << m_nav_state_;
    scdr << m_nav_state_timestamp_;
    scdr << m_arming_state_;
    scdr << m_hil_state_;
    scdr << m_failsafe_;
    scdr << m_failsafe_timestamp_;
    scdr << m_system_type_;
    scdr << m_system_id_;
    scdr << m_component_id_;
    scdr << m_vehicle_type_;
    scdr << m_is_vtol_;
    scdr << m_is_vtol_tailsitter_;
    scdr << m_vtol_fw_permanent_stab_;
    scdr << m_in_transition_mode_;
    scdr << m_in_transition_to_fw_;
    scdr << m_rc_signal_lost_;
    scdr << m_rc_input_mode_;
    scdr << m_data_link_lost_;
    scdr << m_data_link_lost_counter_;
    scdr << m_high_latency_data_link_lost_;
    scdr << m_engine_failure_;
    scdr << m_mission_failure_;
    scdr << m_geofence_violated_;
    scdr << m_failure_detector_status_;
    scdr << m_onboard_control_sensors_present_;
    scdr << m_onboard_control_sensors_enabled_;
    scdr << m_onboard_control_sensors_health_;
    scdr << m_latest_arming_reason_;
    scdr << m_latest_disarming_reason_;
    scdr << m_armed_time_;
    scdr << m_takeoff_time_;
}

void vehicle_status::deserialize(eprosima::fastcdr::Cdr &dcdr)
{

    dcdr >> m_timestamp_;
    dcdr >> m_nav_state_;
    dcdr >> m_nav_state_timestamp_;
    dcdr >> m_arming_state_;
    dcdr >> m_hil_state_;
    dcdr >> m_failsafe_;
    dcdr >> m_failsafe_timestamp_;
    dcdr >> m_system_type_;
    dcdr >> m_system_id_;
    dcdr >> m_component_id_;
    dcdr >> m_vehicle_type_;
    dcdr >> m_is_vtol_;
    dcdr >> m_is_vtol_tailsitter_;
    dcdr >> m_vtol_fw_permanent_stab_;
    dcdr >> m_in_transition_mode_;
    dcdr >> m_in_transition_to_fw_;
    dcdr >> m_rc_signal_lost_;
    dcdr >> m_rc_input_mode_;
    dcdr >> m_data_link_lost_;
    dcdr >> m_data_link_lost_counter_;
    dcdr >> m_high_latency_data_link_lost_;
    dcdr >> m_engine_failure_;
    dcdr >> m_mission_failure_;
    dcdr >> m_geofence_violated_;
    dcdr >> m_failure_detector_status_;
    dcdr >> m_onboard_control_sensors_present_;
    dcdr >> m_onboard_control_sensors_enabled_;
    dcdr >> m_onboard_control_sensors_health_;
    dcdr >> m_latest_arming_reason_;
    dcdr >> m_latest_disarming_reason_;
    dcdr >> m_armed_time_;
    dcdr >> m_takeoff_time_;
}

/*!
 * @brief This function sets a value in member timestamp_
 * @param _timestamp_ New value for member timestamp_
 */
void vehicle_status::timestamp_(uint64_t _timestamp_)
{
m_timestamp_ = _timestamp_;
}

/*!
 * @brief This function returns the value of member timestamp_
 * @return Value of member timestamp_
 */
uint64_t vehicle_status::timestamp_() const
{
    return m_timestamp_;
}

/*!
 * @brief This function returns a reference to member timestamp_
 * @return Reference to member timestamp_
 */
uint64_t& vehicle_status::timestamp_()
{
    return m_timestamp_;
}

/*!
 * @brief This function sets a value in member nav_state_
 * @param _nav_state_ New value for member nav_state_
 */
void vehicle_status::nav_state_(uint8_t _nav_state_)
{
m_nav_state_ = _nav_state_;
}

/*!
 * @brief This function returns the value of member nav_state_
 * @return Value of member nav_state_
 */
uint8_t vehicle_status::nav_state_() const
{
    return m_nav_state_;
}

/*!
 * @brief This function returns a reference to member nav_state_
 * @return Reference to member nav_state_
 */
uint8_t& vehicle_status::nav_state_()
{
    return m_nav_state_;
}

/*!
 * @brief This function sets a value in member nav_state_timestamp_
 * @param _nav_state_timestamp_ New value for member nav_state_timestamp_
 */
void vehicle_status::nav_state_timestamp_(uint64_t _nav_state_timestamp_)
{
m_nav_state_timestamp_ = _nav_state_timestamp_;
}

/*!
 * @brief This function returns the value of member nav_state_timestamp_
 * @return Value of member nav_state_timestamp_
 */
uint64_t vehicle_status::nav_state_timestamp_() const
{
    return m_nav_state_timestamp_;
}

/*!
 * @brief This function returns a reference to member nav_state_timestamp_
 * @return Reference to member nav_state_timestamp_
 */
uint64_t& vehicle_status::nav_state_timestamp_()
{
    return m_nav_state_timestamp_;
}

/*!
 * @brief This function sets a value in member arming_state_
 * @param _arming_state_ New value for member arming_state_
 */
void vehicle_status::arming_state_(uint8_t _arming_state_)
{
m_arming_state_ = _arming_state_;
}

/*!
 * @brief This function returns the value of member arming_state_
 * @return Value of member arming_state_
 */
uint8_t vehicle_status::arming_state_() const
{
    return m_arming_state_;
}

/*!
 * @brief This function returns a reference to member arming_state_
 * @return Reference to member arming_state_
 */
uint8_t& vehicle_status::arming_state_()
{
    return m_arming_state_;
}

/*!
 * @brief This function sets a value in member hil_state_
 * @param _hil_state_ New value for member hil_state_
 */
void vehicle_status::hil_state_(uint8_t _hil_state_)
{
m_hil_state_ = _hil_state_;
}

/*!
 * @brief This function returns the value of member hil_state_
 * @return Value of member hil_state_
 */
uint8_t vehicle_status::hil_state_() const
{
    return m_hil_state_;
}

/*!
 * @brief This function returns a reference to member hil_state_
 * @return Reference to member hil_state_
 */
uint8_t& vehicle_status::hil_state_()
{
    return m_hil_state_;
}

/*!
 * @brief This function sets a value in member failsafe_
 * @param _failsafe_ New value for member failsafe_
 */
void vehicle_status::failsafe_(bool _failsafe_)
{
m_failsafe_ = _failsafe_;
}

/*!
 * @brief This function returns the value of member failsafe_
 * @return Value of member failsafe_
 */
bool vehicle_status::failsafe_() const
{
    return m_failsafe_;
}

/*!
 * @brief This function returns a reference to member failsafe_
 * @return Reference to member failsafe_
 */
bool& vehicle_status::failsafe_()
{
    return m_failsafe_;
}

/*!
 * @brief This function sets a value in member failsafe_timestamp_
 * @param _failsafe_timestamp_ New value for member failsafe_timestamp_
 */
void vehicle_status::failsafe_timestamp_(uint64_t _failsafe_timestamp_)
{
m_failsafe_timestamp_ = _failsafe_timestamp_;
}

/*!
 * @brief This function returns the value of member failsafe_timestamp_
 * @return Value of member failsafe_timestamp_
 */
uint64_t vehicle_status::failsafe_timestamp_() const
{
    return m_failsafe_timestamp_;
}

/*!
 * @brief This function returns a reference to member failsafe_timestamp_
 * @return Reference to member failsafe_timestamp_
 */
uint64_t& vehicle_status::failsafe_timestamp_()
{
    return m_failsafe_timestamp_;
}

/*!
 * @brief This function sets a value in member system_type_
 * @param _system_type_ New value for member system_type_
 */
void vehicle_status::system_type_(uint8_t _system_type_)
{
m_system_type_ = _system_type_;
}

/*!
 * @brief This function returns the value of member system_type_
 * @return Value of member system_type_
 */
uint8_t vehicle_status::system_type_() const
{
    return m_system_type_;
}

/*!
 * @brief This function returns a reference to member system_type_
 * @return Reference to member system_type_
 */
uint8_t& vehicle_status::system_type_()
{
    return m_system_type_;
}

/*!
 * @brief This function sets a value in member system_id_
 * @param _system_id_ New value for member system_id_
 */
void vehicle_status::system_id_(uint8_t _system_id_)
{
m_system_id_ = _system_id_;
}

/*!
 * @brief This function returns the value of member system_id_
 * @return Value of member system_id_
 */
uint8_t vehicle_status::system_id_() const
{
    return m_system_id_;
}

/*!
 * @brief This function returns a reference to member system_id_
 * @return Reference to member system_id_
 */
uint8_t& vehicle_status::system_id_()
{
    return m_system_id_;
}

/*!
 * @brief This function sets a value in member component_id_
 * @param _component_id_ New value for member component_id_
 */
void vehicle_status::component_id_(uint8_t _component_id_)
{
m_component_id_ = _component_id_;
}

/*!
 * @brief This function returns the value of member component_id_
 * @return Value of member component_id_
 */
uint8_t vehicle_status::component_id_() const
{
    return m_component_id_;
}

/*!
 * @brief This function returns a reference to member component_id_
 * @return Reference to member component_id_
 */
uint8_t& vehicle_status::component_id_()
{
    return m_component_id_;
}

/*!
 * @brief This function sets a value in member vehicle_type_
 * @param _vehicle_type_ New value for member vehicle_type_
 */
void vehicle_status::vehicle_type_(uint8_t _vehicle_type_)
{
m_vehicle_type_ = _vehicle_type_;
}

/*!
 * @brief This function returns the value of member vehicle_type_
 * @return Value of member vehicle_type_
 */
uint8_t vehicle_status::vehicle_type_() const
{
    return m_vehicle_type_;
}

/*!
 * @brief This function returns a reference to member vehicle_type_
 * @return Reference to member vehicle_type_
 */
uint8_t& vehicle_status::vehicle_type_()
{
    return m_vehicle_type_;
}

/*!
 * @brief This function sets a value in member is_vtol_
 * @param _is_vtol_ New value for member is_vtol_
 */
void vehicle_status::is_vtol_(bool _is_vtol_)
{
m_is_vtol_ = _is_vtol_;
}

/*!
 * @brief This function returns the value of member is_vtol_
 * @return Value of member is_vtol_
 */
bool vehicle_status::is_vtol_() const
{
    return m_is_vtol_;
}

/*!
 * @brief This function returns a reference to member is_vtol_
 * @return Reference to member is_vtol_
 */
bool& vehicle_status::is_vtol_()
{
    return m_is_vtol_;
}

/*!
 * @brief This function sets a value in member is_vtol_tailsitter_
 * @param _is_vtol_tailsitter_ New value for member is_vtol_tailsitter_
 */
void vehicle_status::is_vtol_tailsitter_(bool _is_vtol_tailsitter_)
{
m_is_vtol_tailsitter_ = _is_vtol_tailsitter_;
}

/*!
 * @brief This function returns the value of member is_vtol_tailsitter_
 * @return Value of member is_vtol_tailsitter_
 */
bool vehicle_status::is_vtol_tailsitter_() const
{
    return m_is_vtol_tailsitter_;
}

/*!
 * @brief This function returns a reference to member is_vtol_tailsitter_
 * @return Reference to member is_vtol_tailsitter_
 */
bool& vehicle_status::is_vtol_tailsitter_()
{
    return m_is_vtol_tailsitter_;
}

/*!
 * @brief This function sets a value in member vtol_fw_permanent_stab_
 * @param _vtol_fw_permanent_stab_ New value for member vtol_fw_permanent_stab_
 */
void vehicle_status::vtol_fw_permanent_stab_(bool _vtol_fw_permanent_stab_)
{
m_vtol_fw_permanent_stab_ = _vtol_fw_permanent_stab_;
}

/*!
 * @brief This function returns the value of member vtol_fw_permanent_stab_
 * @return Value of member vtol_fw_permanent_stab_
 */
bool vehicle_status::vtol_fw_permanent_stab_() const
{
    return m_vtol_fw_permanent_stab_;
}

/*!
 * @brief This function returns a reference to member vtol_fw_permanent_stab_
 * @return Reference to member vtol_fw_permanent_stab_
 */
bool& vehicle_status::vtol_fw_permanent_stab_()
{
    return m_vtol_fw_permanent_stab_;
}

/*!
 * @brief This function sets a value in member in_transition_mode_
 * @param _in_transition_mode_ New value for member in_transition_mode_
 */
void vehicle_status::in_transition_mode_(bool _in_transition_mode_)
{
m_in_transition_mode_ = _in_transition_mode_;
}

/*!
 * @brief This function returns the value of member in_transition_mode_
 * @return Value of member in_transition_mode_
 */
bool vehicle_status::in_transition_mode_() const
{
    return m_in_transition_mode_;
}

/*!
 * @brief This function returns a reference to member in_transition_mode_
 * @return Reference to member in_transition_mode_
 */
bool& vehicle_status::in_transition_mode_()
{
    return m_in_transition_mode_;
}

/*!
 * @brief This function sets a value in member in_transition_to_fw_
 * @param _in_transition_to_fw_ New value for member in_transition_to_fw_
 */
void vehicle_status::in_transition_to_fw_(bool _in_transition_to_fw_)
{
m_in_transition_to_fw_ = _in_transition_to_fw_;
}

/*!
 * @brief This function returns the value of member in_transition_to_fw_
 * @return Value of member in_transition_to_fw_
 */
bool vehicle_status::in_transition_to_fw_() const
{
    return m_in_transition_to_fw_;
}

/*!
 * @brief This function returns a reference to member in_transition_to_fw_
 * @return Reference to member in_transition_to_fw_
 */
bool& vehicle_status::in_transition_to_fw_()
{
    return m_in_transition_to_fw_;
}

/*!
 * @brief This function sets a value in member rc_signal_lost_
 * @param _rc_signal_lost_ New value for member rc_signal_lost_
 */
void vehicle_status::rc_signal_lost_(bool _rc_signal_lost_)
{
m_rc_signal_lost_ = _rc_signal_lost_;
}

/*!
 * @brief This function returns the value of member rc_signal_lost_
 * @return Value of member rc_signal_lost_
 */
bool vehicle_status::rc_signal_lost_() const
{
    return m_rc_signal_lost_;
}

/*!
 * @brief This function returns a reference to member rc_signal_lost_
 * @return Reference to member rc_signal_lost_
 */
bool& vehicle_status::rc_signal_lost_()
{
    return m_rc_signal_lost_;
}

/*!
 * @brief This function sets a value in member rc_input_mode_
 * @param _rc_input_mode_ New value for member rc_input_mode_
 */
void vehicle_status::rc_input_mode_(uint8_t _rc_input_mode_)
{
m_rc_input_mode_ = _rc_input_mode_;
}

/*!
 * @brief This function returns the value of member rc_input_mode_
 * @return Value of member rc_input_mode_
 */
uint8_t vehicle_status::rc_input_mode_() const
{
    return m_rc_input_mode_;
}

/*!
 * @brief This function returns a reference to member rc_input_mode_
 * @return Reference to member rc_input_mode_
 */
uint8_t& vehicle_status::rc_input_mode_()
{
    return m_rc_input_mode_;
}

/*!
 * @brief This function sets a value in member data_link_lost_
 * @param _data_link_lost_ New value for member data_link_lost_
 */
void vehicle_status::data_link_lost_(bool _data_link_lost_)
{
m_data_link_lost_ = _data_link_lost_;
}

/*!
 * @brief This function returns the value of member data_link_lost_
 * @return Value of member data_link_lost_
 */
bool vehicle_status::data_link_lost_() const
{
    return m_data_link_lost_;
}

/*!
 * @brief This function returns a reference to member data_link_lost_
 * @return Reference to member data_link_lost_
 */
bool& vehicle_status::data_link_lost_()
{
    return m_data_link_lost_;
}

/*!
 * @brief This function sets a value in member data_link_lost_counter_
 * @param _data_link_lost_counter_ New value for member data_link_lost_counter_
 */
void vehicle_status::data_link_lost_counter_(uint8_t _data_link_lost_counter_)
{
m_data_link_lost_counter_ = _data_link_lost_counter_;
}

/*!
 * @brief This function returns the value of member data_link_lost_counter_
 * @return Value of member data_link_lost_counter_
 */
uint8_t vehicle_status::data_link_lost_counter_() const
{
    return m_data_link_lost_counter_;
}

/*!
 * @brief This function returns a reference to member data_link_lost_counter_
 * @return Reference to member data_link_lost_counter_
 */
uint8_t& vehicle_status::data_link_lost_counter_()
{
    return m_data_link_lost_counter_;
}

/*!
 * @brief This function sets a value in member high_latency_data_link_lost_
 * @param _high_latency_data_link_lost_ New value for member high_latency_data_link_lost_
 */
void vehicle_status::high_latency_data_link_lost_(bool _high_latency_data_link_lost_)
{
m_high_latency_data_link_lost_ = _high_latency_data_link_lost_;
}

/*!
 * @brief This function returns the value of member high_latency_data_link_lost_
 * @return Value of member high_latency_data_link_lost_
 */
bool vehicle_status::high_latency_data_link_lost_() const
{
    return m_high_latency_data_link_lost_;
}

/*!
 * @brief This function returns a reference to member high_latency_data_link_lost_
 * @return Reference to member high_latency_data_link_lost_
 */
bool& vehicle_status::high_latency_data_link_lost_()
{
    return m_high_latency_data_link_lost_;
}

/*!
 * @brief This function sets a value in member engine_failure_
 * @param _engine_failure_ New value for member engine_failure_
 */
void vehicle_status::engine_failure_(bool _engine_failure_)
{
m_engine_failure_ = _engine_failure_;
}

/*!
 * @brief This function returns the value of member engine_failure_
 * @return Value of member engine_failure_
 */
bool vehicle_status::engine_failure_() const
{
    return m_engine_failure_;
}

/*!
 * @brief This function returns a reference to member engine_failure_
 * @return Reference to member engine_failure_
 */
bool& vehicle_status::engine_failure_()
{
    return m_engine_failure_;
}

/*!
 * @brief This function sets a value in member mission_failure_
 * @param _mission_failure_ New value for member mission_failure_
 */
void vehicle_status::mission_failure_(bool _mission_failure_)
{
m_mission_failure_ = _mission_failure_;
}

/*!
 * @brief This function returns the value of member mission_failure_
 * @return Value of member mission_failure_
 */
bool vehicle_status::mission_failure_() const
{
    return m_mission_failure_;
}

/*!
 * @brief This function returns a reference to member mission_failure_
 * @return Reference to member mission_failure_
 */
bool& vehicle_status::mission_failure_()
{
    return m_mission_failure_;
}

/*!
 * @brief This function sets a value in member geofence_violated_
 * @param _geofence_violated_ New value for member geofence_violated_
 */
void vehicle_status::geofence_violated_(bool _geofence_violated_)
{
m_geofence_violated_ = _geofence_violated_;
}

/*!
 * @brief This function returns the value of member geofence_violated_
 * @return Value of member geofence_violated_
 */
bool vehicle_status::geofence_violated_() const
{
    return m_geofence_violated_;
}

/*!
 * @brief This function returns a reference to member geofence_violated_
 * @return Reference to member geofence_violated_
 */
bool& vehicle_status::geofence_violated_()
{
    return m_geofence_violated_;
}

/*!
 * @brief This function sets a value in member failure_detector_status_
 * @param _failure_detector_status_ New value for member failure_detector_status_
 */
void vehicle_status::failure_detector_status_(uint8_t _failure_detector_status_)
{
m_failure_detector_status_ = _failure_detector_status_;
}

/*!
 * @brief This function returns the value of member failure_detector_status_
 * @return Value of member failure_detector_status_
 */
uint8_t vehicle_status::failure_detector_status_() const
{
    return m_failure_detector_status_;
}

/*!
 * @brief This function returns a reference to member failure_detector_status_
 * @return Reference to member failure_detector_status_
 */
uint8_t& vehicle_status::failure_detector_status_()
{
    return m_failure_detector_status_;
}

/*!
 * @brief This function sets a value in member onboard_control_sensors_present_
 * @param _onboard_control_sensors_present_ New value for member onboard_control_sensors_present_
 */
void vehicle_status::onboard_control_sensors_present_(uint32_t _onboard_control_sensors_present_)
{
m_onboard_control_sensors_present_ = _onboard_control_sensors_present_;
}

/*!
 * @brief This function returns the value of member onboard_control_sensors_present_
 * @return Value of member onboard_control_sensors_present_
 */
uint32_t vehicle_status::onboard_control_sensors_present_() const
{
    return m_onboard_control_sensors_present_;
}

/*!
 * @brief This function returns a reference to member onboard_control_sensors_present_
 * @return Reference to member onboard_control_sensors_present_
 */
uint32_t& vehicle_status::onboard_control_sensors_present_()
{
    return m_onboard_control_sensors_present_;
}

/*!
 * @brief This function sets a value in member onboard_control_sensors_enabled_
 * @param _onboard_control_sensors_enabled_ New value for member onboard_control_sensors_enabled_
 */
void vehicle_status::onboard_control_sensors_enabled_(uint32_t _onboard_control_sensors_enabled_)
{
m_onboard_control_sensors_enabled_ = _onboard_control_sensors_enabled_;
}

/*!
 * @brief This function returns the value of member onboard_control_sensors_enabled_
 * @return Value of member onboard_control_sensors_enabled_
 */
uint32_t vehicle_status::onboard_control_sensors_enabled_() const
{
    return m_onboard_control_sensors_enabled_;
}

/*!
 * @brief This function returns a reference to member onboard_control_sensors_enabled_
 * @return Reference to member onboard_control_sensors_enabled_
 */
uint32_t& vehicle_status::onboard_control_sensors_enabled_()
{
    return m_onboard_control_sensors_enabled_;
}

/*!
 * @brief This function sets a value in member onboard_control_sensors_health_
 * @param _onboard_control_sensors_health_ New value for member onboard_control_sensors_health_
 */
void vehicle_status::onboard_control_sensors_health_(uint32_t _onboard_control_sensors_health_)
{
m_onboard_control_sensors_health_ = _onboard_control_sensors_health_;
}

/*!
 * @brief This function returns the value of member onboard_control_sensors_health_
 * @return Value of member onboard_control_sensors_health_
 */
uint32_t vehicle_status::onboard_control_sensors_health_() const
{
    return m_onboard_control_sensors_health_;
}

/*!
 * @brief This function returns a reference to member onboard_control_sensors_health_
 * @return Reference to member onboard_control_sensors_health_
 */
uint32_t& vehicle_status::onboard_control_sensors_health_()
{
    return m_onboard_control_sensors_health_;
}

/*!
 * @brief This function sets a value in member latest_arming_reason_
 * @param _latest_arming_reason_ New value for member latest_arming_reason_
 */
void vehicle_status::latest_arming_reason_(uint8_t _latest_arming_reason_)
{
m_latest_arming_reason_ = _latest_arming_reason_;
}

/*!
 * @brief This function returns the value of member latest_arming_reason_
 * @return Value of member latest_arming_reason_
 */
uint8_t vehicle_status::latest_arming_reason_() const
{
    return m_latest_arming_reason_;
}

/*!
 * @brief This function returns a reference to member latest_arming_reason_
 * @return Reference to member latest_arming_reason_
 */
uint8_t& vehicle_status::latest_arming_reason_()
{
    return m_latest_arming_reason_;
}

/*!
 * @brief This function sets a value in member latest_disarming_reason_
 * @param _latest_disarming_reason_ New value for member latest_disarming_reason_
 */
void vehicle_status::latest_disarming_reason_(uint8_t _latest_disarming_reason_)
{
m_latest_disarming_reason_ = _latest_disarming_reason_;
}

/*!
 * @brief This function returns the value of member latest_disarming_reason_
 * @return Value of member latest_disarming_reason_
 */
uint8_t vehicle_status::latest_disarming_reason_() const
{
    return m_latest_disarming_reason_;
}

/*!
 * @brief This function returns a reference to member latest_disarming_reason_
 * @return Reference to member latest_disarming_reason_
 */
uint8_t& vehicle_status::latest_disarming_reason_()
{
    return m_latest_disarming_reason_;
}

/*!
 * @brief This function sets a value in member armed_time_
 * @param _armed_time_ New value for member armed_time_
 */
void vehicle_status::armed_time_(uint64_t _armed_time_)
{
m_armed_time_ = _armed_time_;
}

/*!
 * @brief This function returns the value of member armed_time_
 * @return Value of member armed_time_
 */
uint64_t vehicle_status::armed_time_() const
{
    return m_armed_time_;
}

/*!
 * @brief This function returns a reference to member armed_time_
 * @return Reference to member armed_time_
 */
uint64_t& vehicle_status::armed_time_()
{
    return m_armed_time_;
}

/*!
 * @brief This function sets a value in member takeoff_time_
 * @param _takeoff_time_ New value for member takeoff_time_
 */
void vehicle_status::takeoff_time_(uint64_t _takeoff_time_)
{
m_takeoff_time_ = _takeoff_time_;
}

/*!
 * @brief This function returns the value of member takeoff_time_
 * @return Value of member takeoff_time_
 */
uint64_t vehicle_status::takeoff_time_() const
{
    return m_takeoff_time_;
}

/*!
 * @brief This function returns a reference to member takeoff_time_
 * @return Reference to member takeoff_time_
 */
uint64_t& vehicle_status::takeoff_time_()
{
    return m_takeoff_time_;
}


size_t vehicle_status::getKeyMaxCdrSerializedSize(size_t current_alignment)
{
    size_t current_align = current_alignment;



































    return current_align;
}

bool vehicle_status::isKeyDefined()
{
   return false;
}

void vehicle_status::serializeKey(eprosima::fastcdr::Cdr &scdr) const
{
    (void) scdr;
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
}
